package com.sunny.design.delegate.simple;

import com.google.common.collect.Maps;

import java.util.Map;

/**
 * 经理类
 *
 * @author Sunny
 * @date 2020/1/4 17:26
 */
public class Leader implements IEmployee {

    /** 领导事先知道每个员工,且知道每个员工擅长什么工作 */
     private Map<String, IEmployee> EMPLOYEE_MAP = Maps.newConcurrentMap();

    public Leader() {
        EMPLOYEE_MAP.put("加密", new EmployeeA());
        EMPLOYEE_MAP.put("架构", new EmployeeB());
    }

    /**
     * 根据任务指定不同的员工干不同的事
     *
     * @param command 任务
     */
    @Override
    public void doing(String command) {
        EMPLOYEE_MAP.get(command).doing(command);
    }
}
